package com.cd.university.service;

import com.cd.university.common.RestResult;
import com.cd.university.controller.form.LogTimeForm;
import com.cd.university.db.pojo.OperationLog;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author 陈栋
 * @create 2021/11/7 20:21
 */
public interface LogService {

    /**
     * 查询用户登录日志
     * @param pageNum 页数
     * @param pageSize 每页个数
     * @return 统一响应格式
     */
    public RestResult getUserLog(Integer pageNum,Integer pageSize);

    /**
     * 批量删除用户日志
     * @param userLogList 用户日志时间集合
     * @return 统一响应格式
     */
    public RestResult deleteUserLog(List<LogTimeForm> userLogList);

    /**
     * 获得所有的操作日志
     * @param pageNum 页数
     * @param pageSize 每页个数
     * @return 统一响应格式
     */
    public RestResult getOperationLog(Integer pageNum,Integer pageSize);

    /**
     * 批量删除操作日志
     * @param operationLogList 操作日志时间集合
     * @return 统一响应格式
     */
    public RestResult deleteOperationLog(List<LogTimeForm> operationLogList);

    /**
     * 获得系统日志的全部
     * @param pageNum 页数
     * @param pageSize 每页个数
     * @return 统一响应格式
     */
    public RestResult getSystemLog(Integer pageNum,Integer pageSize);

    /**
     * 批量删除系统日志
     * @param systemList 系统日志的主键id集合
     * @return 统一响应格式
     */
    public RestResult deleteSystemLog(List<LogTimeForm> systemList);

    /**
     * 根据时间筛选日志
     * @param pageNum 页数
     * @param pageSize 每页个数
     * @param startTime 起始时间
     * @param endTime 结束时间
     * @param type 日志类型
     * @return 统一响应格式
     */
    public RestResult searchByTime(Integer pageNum, Integer pageSize, String startTime, String endTime, String type);
}
